<!--
  功能：功能描述
  作者：liqian
  邮箱：liqian@briup.com
  时间：2020年12月18日 15:59:37
  版本：v1.0
  修改记录：
  修改内容：
  修改人员：
  修改时间：
-->
<template>
  <div class="fileCreate">
    <el-page-header @back="goBack" content="添加文件"> </el-page-header>
    <el-form>
      <el-form-item label="名称">
        <el-input v-model="form.fileName"></el-input>
      </el-form-item>
      <el-form-item label="属性">
        <el-input v-model="form.extName"></el-input>
      </el-form-item>
    </el-form>
      <el-upload
    class="upload-demo"
    action="https://jsonplaceholder.typicode.com/posts/"
    :on-preview="handlePreview"
    :on-remove="handleRemove"
    :before-remove="beforeRemove"
    multiple
    :limit="3"
    :on-exceed="handleExceed"
    :file-list="fileList"
  >
    <el-button size="small" type="primary">点击上传<i class="el-icon-upload el-icon--right"></i></el-button>
    <div slot="tip" class="el-upload__tip">
      
      只能上传jpg/png文件，且不超过500kb
    </div>
  </el-upload>
  </div>
</template>

<script>
import { post } from "@/utils/request";
export default {
  // 组件名称
  name: "demo",
  // 组件参数 接收来自父组件的数据
  props: {},
  // 组件状态值
  data() {
    return {
      fileList: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}],
      form: {},
    };
  },
  // 计算属性
  computed: {},
  // 侦听器
  watch: {},
  // 组件方法
  methods: {
     handleRemove(file, fileList) {
        console.log(file, fileList);
      },
      handlePreview(file) {
        console.log(file);
      },
       beforeRemove(file, fileList) {
        return this.$confirm("确定移除?");
       },
    submit() {
      let url = "http://localhost:8888/baseFile/saveOrUpdate";
      post(url, this.form).then((resp) => {
        this.$message({ type: "success", message: resp.message });
        this.goBack();
      });
    },
    goBack() {
      this.$router.back();
    },
  },
  // 以下是生命周期钩子
  /**
   * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
   */
  created() {
     this.form=this.$route.query;
  },
  /**
   * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
   * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
   */
  mounted() {},
  /**
   * 实例销毁之前调用。在这一步，实例仍然完全可用。
   */
  beforeDestroy() {},
  /**
   * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
   * 所有的事件监听器会被移除，所有的子实例也会被销毁。
   */
  destroyed() {},
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<!--这么设计的目的是父组件可以对子组件根元素进行布局。-->
<style scoped>
</style>
